<html>
<head>
<title>06 对象</title>
</head>
<body>
	<script type="text/javascript">
		/*

		* 值类型(基本类型)：
			字符串（String）、数字(Number)、布尔(Boolean)、对空（Null）、未定义（Undefined）、Symbol。

		* 引用数据类型（对象类型） Object 对象 ：
			对象(Object)、数组(Array)、函数(Function)，还有两个特殊的对象：正则（RegExp）和日期（Date）。
		*/

		//对象是一种复合的数据类型，在对象中可以保存多个不同类型的属性
		/*
		对象的分类：
		* 1.内建对象
		* 	- 由ES标准中定义的对象，在任何的ES的实现中都可以使用
			- 比如： Math String Number Boolean Function Object ...

		* 2.宿主对象
			- 由JS的运行环境提供的对象，目前来讲主要由浏览器提供的对象
			- 比如 BOM DOM

		* 3.自定义对象
			- 由开发人员自己创建的对象
		*/

		//创建对象
		var obj = new Object();
		var obj1 = new Object();
		console.log(typeof obj);

		//向 obj对象中添加属性
		obj.name = "Adair";
		obj.gender = "F";
		obj.age = 18;

		obj["name1"] = "Adair1";
		obj["gender1"] = "F1";
		obj["age1"] = 181;

		console.log( obj);


		obj1["val"] = obj;
		console.log(obj1);
		console.log(obj1.val.name1);

		//向 obj对象中读取属性
		console.log(obj.name);
		document.write(obj.name);


		// in 运算符
		// - 通过运算符可以检查一个对象中是否有指定的属性
		// - 语法： “属性名“ in 对象

		if("name" in obj){
			console.log(obj["name"]);
		}

		//对象通用创建方式
		var obj3 = {
			name:"孙悟空",
			age: "500",
			gender:'M' 
		}
		console.log(obj3);



		for(n in obj3){
			console.log("属性名 ："+n);
			console.log("属性值 ："+obj3[n]);
		}
	</script>
</body>


</html>